method declarations(メソッド宣言)
次のようなものをメソッド宣言という
code:main.go
func (p *Point) Length() float64 {
return math.Sqrt(p.x * p.x + p.y * p.y)
}
receiverという特別なパラメータを持つ。
func (x X) Method() の xのことをreceiverという。
receiverの型はなんでもいいわけではなく、
Tへのpointerでなければならない。
このTのことをreceiver base typeと呼ぶ。
func (t *T) Method() と宣言したときのbase typeはTであって*Tではないことに要注意
最初の例だとPointがreceiver base type
例題